package com.cmwa.solution.business.product.entity;

import org.apache.commons.lang.StringUtils;
import org.apache.ibatis.type.Alias;

import com.cmwa.solution.base.entity.BaseVo;
import com.cmwa.solution.utils.cached.DictionaryCached;

/**
 * 招商财富产品线表实体
 * 
 * @date 2019-01-22 15:33:47
 */
@Alias("subPrdLineVo")
public class SubPrdLineVo extends BaseVo {
	/**
	 * 子产品编码
	 */
	private String subPrdCode;
	
	/**
	 * 子产品简称
	 */
	private String subFundSname;
	
	/**
	 * 子产品全称
	 */
	private String subFundLname;

	/**
	 * 发布时间
	 */
	private String publishTime;
	
	/**
	 * 风险级别
	 */
	private String prdRiskLevel;
	
	/**
	 * 风险级别(中文名称)
	 */
	private String prdRiskLevelMN;
	
	/**
	 * 产品类型
	 */
	private String prdCategory;
	
	/**
	 * 产品类型(中文名称)
	 */
	private String prdCategoryNM;
	
	/**
	 * 存续期限
	 */
	private String prdTerm;
	
	/**
	 * 运作模式
	 */
	private String operationMode;

	/**
	 * 产品规模
	 */
	private String expectedRaiseAmt;
	
	/**
	 * 初始份额面值
	 */
	private String initParValue;
	
	/**
	 * 最低认购金额(个人)
	 */
	private String indBookStart;
	
	/**
	 * 流动性安排
	 */
	private String openFrequency;
	
	/**
	 * 流动性安排(中文名)
	 */
	private String openFrequencyNM;
	
	/**
	 * 产品收益分配
	 */
	private String fitCycle;
	
	/**
	 * 产品收益分配
	 */
	private String fitCycleNM;
	
	/**
	 *  投资范围
	 */
	private String investSpec;
	
	/**
	 * 投资策略
	 */
	private String investStrategy;
	
	/**
	 * 风险收益特征
	 */
	private String riskYield;
	
	/**
	 * 子产品过程状态
	 */
	private String subPrdPrcStatus;
	
	/**
	 * 产品标识
	 */
	private String prdFlag;
	
	/**
	 * 最低认购金额(机构)
	 */
	private String insBookStart;
	
	/**
	 * 业绩比较基准
	 */
	private String expectedClientYield;
	
	/**
	 * 退出费率
	 */
	private String breachFeeRate;
	
	/**
	 * 认购费率
	 */
	private String bookFeeRate;
	
	/**
	 * 申购费率
	 */
	private String declareFeeRate;
	
	/**
	 * 赎回费率
	 */
	private String redeemFeeRate;
	
	 /**
     * 附件ID
	 */
    private String attIds;
    
    /**
     * 收益费率
     */
    private String yield;
    
	public String getSubPrdCode() {
		return subPrdCode;
	}

	public void setSubPrdCode(String subPrdCode) {
		this.subPrdCode = subPrdCode;
	}

	public String getSubFundSname() {
		return subFundSname;
	}

	public void setSubFundSname(String subFundSname) {
		this.subFundSname = subFundSname;
	}

	public String getSubFundLname() {
		return subFundLname;
	}

	public void setSubFundLname(String subFundLname) {
		this.subFundLname = subFundLname;
	}

	public String getPublishTime() {
		return publishTime;
	}

	public void setPublishTime(String publishTime) {
		this.publishTime = publishTime;
	}

	public String getPrdRiskLevel() {
		return prdRiskLevel;
	}

	public void setPrdRiskLevel(String prdRiskLevel) {
		this.prdRiskLevel = prdRiskLevel;
	}

	public String getPrdCategory() {
		return prdCategory;
	}

	public void setPrdCategory(String prdCategory) {
		this.prdCategory = prdCategory;
	}

	public String getPrdTerm() {
		return prdTerm;
	}

	public void setPrdTerm(String prdTerm) {
		this.prdTerm = prdTerm;
	}

	public String getOperationMode() {
		return operationMode;
	}

	public void setOperationMode(String operationMode) {
		this.operationMode = operationMode;
	}

	public String getExpectedRaiseAmt() {
		return expectedRaiseAmt;
	}

	public void setExpectedRaiseAmt(String expectedRaiseAmt) {
		this.expectedRaiseAmt = expectedRaiseAmt;
	}

	public String getInitParValue() {
		return initParValue;
	}

	public void setInitParValue(String initParValue) {
		this.initParValue = initParValue;
	}

	public String getIndBookStart() {
		return indBookStart;
	}

	public void setIndBookStart(String indBookStart) {
		this.indBookStart = indBookStart;
	}

	public String getOpenFrequency() {
		return openFrequency;
	}

	public void setOpenFrequency(String openFrequency) {
		this.openFrequency = openFrequency;
	}

	public String getFitCycle() {
		return fitCycle;
	}

	public void setFitCycle(String fitCycle) {
		this.fitCycle = fitCycle;
	}

	public String getInvestSpec() {
		return investSpec;
	}

	public void setInvestSpec(String investSpec) {
		this.investSpec = investSpec;
	}

	public String getInvestStrategy() {
		return investStrategy;
	}

	public void setInvestStrategy(String investStrategy) {
		this.investStrategy = investStrategy;
	}

	public String getRiskYield() {
		return riskYield;
	}

	public void setRiskYield(String riskYield) {
		this.riskYield = riskYield;
	}

	public String getSubPrdPrcStatus() {
		return subPrdPrcStatus;
	}

	public void setSubPrdPrcStatus(String subPrdPrcStatus) {
		this.subPrdPrcStatus = subPrdPrcStatus;
	}

	public String getPrdFlag() {
		return prdFlag;
	}

	public void setPrdFlag(String prdFlag) {
		this.prdFlag = prdFlag;
	}

	public String getInsBookStart() {
		return insBookStart;
	}

	public void setInsBookStart(String insBookStart) {
		this.insBookStart = insBookStart;
	}

	public String getExpectedClientYield() {
		return expectedClientYield;
	}

	public void setExpectedClientYield(String expectedClientYield) {
		this.expectedClientYield = expectedClientYield;
	}

	public String getBreachFeeRate() {
		return breachFeeRate;
	}

	public void setBreachFeeRate(String breachFeeRate) {
		this.breachFeeRate = breachFeeRate;
	}

	public String getPrdRiskLevelMN() {
		if (StringUtils.isNotEmpty(prdRiskLevel)) {
			return  DictionaryCached.getInstance().getDictionaryName(
					"RISK_LEVEL",
					"RISK_LEVEL",
					"RISK_LEVEL", prdRiskLevel);
		}
		return prdRiskLevelMN;
	}

	public void setPrdRiskLevelMN(String prdRiskLevelMN) {
		this.prdRiskLevelMN = prdRiskLevelMN;
	}

	public String getPrdCategoryNM() {
		if (StringUtils.isNotEmpty(prdCategory)) {
			return  DictionaryCached.getInstance().getDictionaryName(
					"PRD_CATEGORY",
					"PRD_CATEGORY",
					"PRD_CATEGORY", prdCategory);
		}
		return prdCategoryNM;
	}

	public void setPrdCategoryNM(String prdCategoryNM) {
		this.prdCategoryNM = prdCategoryNM;
	}

	public String getBookFeeRate() {
		return bookFeeRate;
	}

	public void setBookFeeRate(String bookFeeRate) {
		this.bookFeeRate = bookFeeRate;
	}

	public String getDeclareFeeRate() {
		return declareFeeRate;
	}

	public void setDeclareFeeRate(String declareFeeRate) {
		this.declareFeeRate = declareFeeRate;
	}

	public String getRedeemFeeRate() {
		return redeemFeeRate;
	}

	public void setRedeemFeeRate(String redeemFeeRate) {
		this.redeemFeeRate = redeemFeeRate;
	}

	public String getAttIds() {
		return attIds;
	}

	public void setAttIds(String attIds) {
		this.attIds = attIds;
	}

	public String getYield() {
		return yield;
	}

	public void setYield(String yield) {
		this.yield = yield;
	}

	public String getOpenFrequencyNM() {
		if (StringUtils.isNotEmpty(openFrequency)) {
			return  DictionaryCached.getInstance().getDictionaryName(
					"OPEN_FREQUENCY",
					"OPEN_FREQUENCY",
					"OPEN_FREQUENCY", openFrequency);
		}
		return openFrequencyNM;
	}

	public void setOpenFrequencyNM(String openFrequencyNM) {
		this.openFrequencyNM = openFrequencyNM;
	}

	public String getFitCycleNM() {
		if (StringUtils.isNotEmpty(fitCycle)) {
			return  DictionaryCached.getInstance().getDictionaryName(
					"YIELD_PAY_RATE",
					"YIELD_PAY_RATE",
					"YIELD_PAY_RATE", fitCycle);
		}
		return fitCycleNM;
	}

	public void setFitCycleNM(String fitCycleNM) {
		this.fitCycleNM = fitCycleNM;
	}
	
	
	
	

}
